package cn.tt.tuantuanerp.tuantuanerp.purchase.service;

import cn.tt.tuantuanerp.tuantuanerp.comment.pojo.dto.PurchaseProductAddNewDTO;
import cn.tt.tuantuanerp.tuantuanerp.comment.pojo.vo.PurchaseProductListItemVO;
import cn.tt.tuantuanerp.tuantuanerp.comment.pojo.vo.PurchaseProductStandardVO;
import cn.tt.tuantuanerp.tuantuanerp.comment.security.LoginPrincipal;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 处理商品数据的业务接口
 *
 * @author java@杨波
 * @version 0.0.1
 */
@Transactional
public interface IPurchaseProductService {

    /**
     * 添加商品
     *
     * @param purchaseProductAddNewDTO 商品数据
     */
    void addNew(List<PurchaseProductAddNewDTO> purchaseProductAddNewDTO);

    /**
     * 新增商品表
     * 已测试
     * @param purchaseProductAddNewDTO   浏览器发送的商品信息
     */
    void addNew(PurchaseProductAddNewDTO purchaseProductAddNewDTO);

    /**
     * @author java@杨波
     * 查询采购列表
     */
    List<PurchaseProductListItemVO> list();

    /**
     * 根据商品编号查询
     * @author java@杨波
     */
    PurchaseProductStandardVO getStandardBySkuId(Long skuId);

    /**
     * 根据商品id查询
     * @author java@杨波
     */
    PurchaseProductStandardVO getByPurchaseId(String purchaseId);

    /**
     *新增商品是返回的purchaseId
     */
    String returnPurchaseId(LoginPrincipal loginPrincipal);

}
